package com.film.service;

import java.util.List;

import com.film.domain.FilmOrder;
import com.film.domain.UserOrder;

/**
 * 订单
 * @author 姜海洋
 * @date 2021年6月14日 下午7:44:12
 */
public interface OrderService {
	
	/**
	 * 通过用户id查询该用户的订单
	 * @param uid 用户id
	 * @return
	 * 		返回用户的所有订单
	 */
	List<FilmOrder> selectAllOrder(int uid);
	
	/**
	 * 将用户订单整理分类成单独的订单，同一时刻下单的订单信息整理到一条订单显示
	 * @param allUserOrders 该用户的所有订单
	 * @return 
	 * 		返回整理好了的订单集合 
	 */
	List<UserOrder> arrangeList(List<FilmOrder> allUserOrders);
	
	/**
	 * 创建订单
	 * @param showingsId 场次id
	 * @param uid 用户id
	 * @param seatIds 座位id集合
	 * @return
	 * 		返回创建的订单号
	 */
	String createOrder(int showingsId,int uid,List<Integer> seatIds);

	/**
	 * 查询当前用户创建的订单
	 * @param orderNum 订单号
	 * @return
	 * 		返回当前用户创建的订单
	 */
	List<FilmOrder> selectOrder(String orderNum);
	
	/**
	 * 删除订单  
	 * @param orderNum 订单号
	 * @return
	 * 		返回删除条数  
	 */
	int removeOrder(String orderNum);
	
	/**
	 * 修改订单状态，支付过后修改订单状态为已支付
	 * @param orderNum 订单号码
	 * @param orderStatusCode 订单状态码
	 * @return
	 * 		返回修改条数
	 */
	int updateOrderStatus(String orderNum,int orderStatusCode);
	
	/**
	 * 查询所有订单信息
	 * @return
	 */
	List<FilmOrder> selectAllOrder();
}
